package dataview;

import java.util.LinkedList;
import java.util.List;
import store.Cibo;
import store.Termine;

public class CiboVis {
	private String nome;
	private String descrizione;
	private String composizione;
	private List<String> tags;
	private String calorie;
	
	public CiboVis(Cibo cibo) {
		nome = cibo.getNome();
		tags = new LinkedList<String>();
		for (Termine termine : cibo.getTag())
			tags.add(termine.getTermine().replace("_", " "));
		composizione = "N.D.";
		calorie = "N.D.";
		if (cibo.getInfo() != null && cibo.getInfo().getUnitaRiferimento() != null) {
			if (cibo.getInfo().getValori().isEmpty())
				composizione = "N.D.";
			else {
				composizione = "";
				for (Valore valore : cibo.getInfo().getValori())
					composizione += valore + " per " + cibo.getInfo().getUnitaRiferimento() + ", ";
				composizione = composizione.substring(0, composizione.lastIndexOf(',') == -1 ? composizione.length() : composizione.lastIndexOf(','));
			}
			calorie = cibo.getInfo().getCalXunita() + " kcal/" + cibo.getInfo().getUnitaRiferimento();
		}
		descrizione = cibo.getInfo() == null ? "" : cibo.getInfo().getDescrizione();
	}
	
	public String getNome() {
		return nome;
	}
	
	public String getDescrizione() {
		return descrizione;
	}
	
	public String getComposizione() {
		return composizione;
	}
	
	public List<String> getTags() {
		return tags;
	}
	
	public String getCalorie() {
		return calorie;
	}
}
